Model Checking Activity Diagrams in TCM
نویسنده
چکیده
ing from Data. Since an activity hypergraph can have integer and string variables, the state space of the transition system can be infinite. We reduce this infinite transition system to a finite one as follows. The key observation is that the only data that influences the execution of the activity hypergraph are the event and guard labels. The only relevant data, therefore, is the boolean valuation of the event and guard expressions. For example, suppose a guard tests whether variable x < 10. Then we only need to know the truth value of the guard, if we want to know whether the associated hyperedge is enabled. A naive model checking strategy would therefore be to drop all data and to introduce for every guard expression a boolean representative. generate events and new boolean valuations for guard expressions. The guard is true iff its boolean representative is true. This strategy is naive in the sense that is does not reckon with the fact that guard expressions can be dependent upon each other. For example, if guard expression [p ∧ q ] is true then [p] must also be true. And if [s=“red”] is true then [s 6=“red”] must be false, and vice versa. But in the naive model checking strategy, [p ∧ q ] and [p] might be assigned conflicting truth values, for example [p ∧ q ] = true and [p] = false. Such valuations are infeasible, and therefore should not occur in the model. We therefore consider basic guard expressions: those parts of the guard expressions not containing ∧,∨ and ¬ . This partly solves the problem sketched above (for example [p ∧ q ] and [q ] are dependent now). But not fully, since basic guard expressions too can be dependent upon each other. For example, basic guard expressions [x = 10] and [x ≥ 10] are not independent, since x = 10⇒ x ≥ 10. We solve this problem by requiring that a basic guard expression can at most refer to one variable, and that if two basic guard expressions refer to the same variable, then they must be syntactically the same. This may seem a limiting constraint, but we have not yet seen a workflow model in practice that did not satisfy this constraint. We postpone relaxing this constraint to future work. The approach above is based on existing approaches from modal logic theory, e.g. filtration [11]. Similar techniques are also applied in model checking under the name partition refinement [3]. Partition refinement can only be applied to a finite state space. Therefore, as far as we know, partition refinement is never applied to data abstraction, since data may induce an infinite state space. Real time. Activity graphs can contain simple real-time constructs of the form when and after (see Section 2). In our prototype, we have only implemented after constraints; when constraints can be dealt with similarly. In computing a transition system, we need to interpret after constraints in order to generate timeouts. One obvious solution is to use discrete time. But in our semantics we have dense time rather than discrete time: an event can occur at any time, not just at ticks of the clock. A dense time model cannot be discretised straightforwardly, since the discretisation may introduce some (undesired) properties that are not present in the original dense time model. However, in our case, we can use the result of Göllü et al. [12] that dense time models with n clocks can be discretised using clock ticks of 1 n+1 . This discretisation preserves the untimed (reachability) properties of the original dense time model, but it may introduce some different
منابع مشابه
Model Checking of UML Class Diagrams including OCL using Relational Logic
The popular process models for object-oriented software development do not comprise model checking techniques. Model checking tools which take UML class diagrams including OCL as input could facilitate the incorporation of model checking techniques into everyday software engineering workflows. This paper describes a two-step model checking approach for UML class diagrams including OCL: the clas...
متن کاملFormalising UML Activity Diagrams using Finite State Processes
Among the set of diagrams of UML used to express dynamic aspects of systems, the Activity Diagram (AD) is the only one that deals with Business Processes (BP) and workflows. However, the lack of a well-defined semantics leaves the notation open to many interpretations. In this paper we provide a simple semantics by formalising the UML Activity Diagram using finite state processes (FSP). A given...
متن کاملVerifying sequence diagrams using the process algebra CSP
We develop a verification tool for sequence diagrams named SD2CSP. It converts sequence diagrams to processes in CSP, so that existing model checking tool can verify them. We implemented the tool and conducted experiments with real world case studies.
متن کاملOn Application of Multi-Rooted Binary Decision Diagrams to Probabilistic Model Checking
In this paper we consider the applicability of multi-rooted binary decision diagrams for the probabilistic model checking. The symbolic probabilistic model checking involves manipulation of functions and matrices with the values in [0, 1], and multi-terminal binary decision diagrams, sparse matrices, and combinations thereof are used to represent these objects. We propose algorithms for represe...
متن کاملSylvan: multi-core decision diagrams
Decision diagrams such as binary decision diagrams and multivalued decision diagrams play an important role in various fields, including symbolic model checking. An ongoing challenge is to develop datastructures and algorithms for modern multi-core architectures. The BDD package Sylvan provides one contribution by implementing parallelized BDD operations and thus allowing sequential algorithms ...
متن کاملZur automatischen Verifikation von UML-2-Aktivitätsdiagrammen
Inhaltsverzeichnis 1 Einleitung 1 1. Summary Demands on the performance and particularly on the quality of new software systems grow continuously. Therefore, modern software development processes are aimed at creating top quality software as fast as possible. One approach to face this challenge is given by the model-driven software development (MDSD). The use of models increases the abstraction...
متن کامل